Storage system, path management method and path management device

ABSTRACT

Proposed are a storage system, a path management method and a path management device capable of ensuring the processing performance demanded by a user while seeking to improve the access performance from a host system to a storage apparatus. Path switching control for dynamically switching the path to be used by the host system according to the loaded condition of the respective paths between the host system and the storage apparatus is executed; and a path is selected as needed according to a policy containing path switching rules created by a user, and path switching control for excluding the selected path from the target and dynamically switching the path to be used by the host system is executed.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.11/472,403, filed Jun. 22, 2006. This application relates to and claimspriority from Japanese Patent Application No. 2006-116358, filed on Apr.20, 2006, the entire disclosure of which is incorporated herein byreference.

BACKGROUND OF INVENTION

1. Field of Invention

The present invention relates to a storage system, a path managementmethod and a path management device, and can be suitably employed in astorage system equipped with a path management function for switchingthe path between a host system and a storage apparatus so as to balancethe load of the respective paths.

2. Background Art

In recent years, a storage system is often configured so that a singlestorage apparatus performs multiple processes to a plurality of hostsystems pursuant to the enlargement of the SAN (Storage Area Network)environment and increased capacity of storage apparatuses.

Under this kind of environment, a conventional storage system has acomplicated path for connecting the host system and the storageapparatus, and various systems have been proposed to date as the pathmanagement system for managing such complicated path (e.g., refer toJapanese Patent Laid-Open Publication No. 2003-32290).

SUMMARY OF INVENTION

Meanwhile, many of the path management systems adopted in the storagesystem today employ a method of equalizing the load of each path bybalancing the load with the overall SAN. According to this kind of pathmanagement method, there is an advantage in that it is possible toprevent problems such as the concentration of the load on a specificpath from happening, and the access performance from the host system tothe storage apparatus can be improved in the overall storage system.

Nevertheless, with the foregoing path management system that equalizesthe load of each path, there are cases where it is not possible tosecure the processing performance demanded by a user since noconsideration is given to the importance of processing.

Further, with this path management system, since the path is switchedfrom the load checking state, there is a problem in that the path willbe frequently switched during processing where the fluctuation of theload is severe, and overhead will arise in the host system.

The present invention was made in view of the foregoing problems. Thus,an object of the present invention is to propose a storage system, apath management method and a path management device capable of ensuringthe processing performance demanded by a user while seeking to improvethe access performance from a host system to a storage apparatus.

In order to achieve the foregoing object, the present invention providesa storage system in which a host system as a higher-level device and astorage apparatus providing a volume to the host system for reading andwriting data are connected via a plurality of paths. This storage systemcomprises a path switching unit provided to the host system and whichexecutes path switching control for dynamically switching the path to beused by the host system according to the loaded condition of therespective paths between the host system and the storage apparatus, anda management unit for selecting a path according to a policy containingpath switching rules created by a user as needed, and controlling thepath switching unit so as to exclude the selected path from the targetof the path switching control for dynamically switching the path to beused by the host system.

Accordingly, with this storage system, it is possible to ensure theprocessing performance demanded by a user as a result of selecting apath according to a policy created by the user as needed and excludingthe selected path from the target of the path switching control whileseeking to improve the access performance from the host system to thestorage apparatus based on the path switching control for dynamicallyswitching the path to be used by the host system according to the loadedcondition of the respective paths between the host system and thestorage apparatus.

Further, the present invention provides a path management method in astorage system in which a host system as a higher-level device and astorage apparatus providing a volume to the host system for reading andwriting data are connected via a plurality of paths. This pathmanagement method comprises the steps of executing path switchingcontrol for dynamically switching the path to be used by the host systemaccording to the loaded condition of the respective paths between thehost system and the storage apparatus, and selecting a path according toa policy containing path switching rules created by a user as needed,and executing path switching control for excluding the selected pathfrom the target and dynamically switching the path to be used by thehost system.

Accordingly, with this path management method, it is possible to ensurethe processing performance demanded by a user as a result of selecting apath according to a policy created by the user as needed and excludingthe selected path from the target of the path switching control whileseeking to improve the access performance from the host system to thestorage apparatus based on the path switching control for dynamicallyswitching the path to be used by the host system according to the loadedcondition of the respective paths between the host system and thestorage apparatus.

In addition, the present invention provides a path management device formanaging the respective paths between a host system and a storageapparatus in a storage system in which the host system as a higher-leveldevice and the storage apparatus providing a volume to the host systemfor reading and writing data are connected via a plurality of paths, andthe host system executes path switching control for dynamicallyswitching the path to be used by the host system according to the loadedcondition of the respective paths between the host system and thestorage apparatus. This path management device comprises a managementunit for selecting a path according to a policy containing pathswitching rules created by a user as needed, and controlling the pathswitching unit so as to exclude the selected path from the target of thepath switching control for dynamically switching the path to be used bythe host system.

Accordingly, with this path management device, it is possible to ensurethe processing performance demanded by a user as a result of selecting apath according to a policy created by the user as needed and excludingthe selected path from the target of the path switching control whileseeking to improve the access performance from the host system to thestorage apparatus based on the path switching control for dynamicallyswitching the path to be used by the host system according to the loadedcondition of the respective paths between the host system and thestorage apparatus.

According to the present invention, it is possible to manage the pathwhile giving consideration to the importance of processing. Accordingly,it is possible to realize a storage system, a path management method anda path management device capable of ensuring the processing performancedemanded by a user while seeking to improve the access performance froma host system to a storage apparatus.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing the overall configuration of thestorage system according to an embodiment of the present invention;

FIG. 2 is a flowchart showing the processing routine of policy pathswitching control processing;

FIG. 3 is a chart explaining the load information extraction processing;

FIG. 4 is a conceptual diagram explaining the time-series load table andthe statistical table;

FIG. 5 is a schematic diagram showing the setting policy display screen;

FIG. 6 is a schematic diagram showing the sampling time setting screen;

FIG. 7 is a schematic diagram showing the load statistics informationdisplay screen;

FIG. 8 is a schematic diagram showing the time condition setting screen;

FIG. 9 is a schematic diagram showing the item condition setting screen;

FIG. 10 is a schematic diagram showing the deletion confirmation screen;

FIG. 11 is a flowchart showing the processing routine of policy displaysetting processing;

FIG. 12 is a flowchart showing the processing routine of load statisticsinformation display processing;

FIG. 13 is a flowchart showing the processing routine of path detectionprocessing;

FIG. 14 is a conceptual diagram explaining the path information table;

FIG. 15 is a flowchart showing the processing routine of load statisticsinformation display screen display processing;

FIG. 16 is a conceptual diagram explaining the display statisticsinformation table;

FIG. 17 is a flowchart showing the processing routine of policy settingchange processing; and

FIG. 18 is a flowchart showing the processing routine of policy pathswitching control processing.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

An embodiment of the present invention is now explained with referenceto the attached drawings.

(1) Configuration of Storage System in Present Embodiment

FIG. 1 shows the overall storage system 1 according to the presentembodiment. Referring to FIG. 1, the storage system 1 comprises aplurality of host systems 2 and a management server 3 connected to astorage apparatus 5 via a network 4, and a management terminal 6connected to the storage apparatus 5.

The host system 2 is a computer device including a CPU (CentralProcessing Unit) 10, a memory 11, a host bus adapter (HBA: Host BusAdapter) 12 and the like, and, for instance, is configured from apersonal computer workstation, mainframe or the like. The CPU 10executes various control processing based on various control programsstored in the memory 11. The memory 11 is used for retaining varioustypes of control programs and various types of information, and is alsoused as a work memory of the CPU 10. The path management program 13 andload information 14 described later are also retained in the memory 11.The host bus adapter 12, for example, is configured from a SCSI (SmallComputer System Interface) card and functions as an interface.

The management server 3, as with the host system 2, is a computer devicecomprising information processing resources such as a CPU 20 and amemory 21, and is configured from a personal computer, workstation,mainframe or the like. The CPU 20 executes various control processingbased on various control programs stored in the memory 21. The memory 21is used for retaining various types of control programs and varioustypes of information, and is also used as a work memory of the CPU 20.The policy management program 22, load statistics information 23 andsetting policy information 24 described later are also retained in thememory 21.

The network 4, for example, is configured from a SAN, LAN (Local AreaNetwork), the Internet, public line, or dedicated line. Communicationbetween the host system 2, the management server 3 and the storageapparatus 5 via the network 4 is conducted according to a fibre channelprotocol when the network 4 is a SAN, and conducted according to aTCP/IP (Transmission Control Protocol/Internet Protocol) protocol whenthe network 4 is a LAN.

The storage apparatus 5 comprises a plurality of storage devices 30 anda controller 31 for controlling the storage devices 30.

The storage device 30, for instance, is configured from an expensivedisk drive such as an FC (Fibre Channel) disk, or an inexpensive diskdrive such as a SATA (Serial AT Attachment) disk or optical disk drive,or a semiconductor memory. A single RAID (Redundant Array of InexpensiveDisks) group 32 is configured from a prescribed number (four, forinstance) of storage devices 30, and one or more logical volumes(hereinafter referred to as “logical volumes”) VOL are defined in astorage extent provided by the respective storage devices 30 configuringa single RAID group 32. Data from the host system 2 is read from andwritten into these logical volumes VOL in block units of a prescribedsize.

Each logical volume VOL is assigned a unique identifier (LUN: LogicalUnit Number). In the present embodiment, an identifier and a uniquenumber (LBA: Logical Block Address) allocated to each block are set asthe address, and the input and output of user data is conducted bydesignating such address.

The controller 31 comprises a plurality of ports 40, a plurality ofchannel processors 41, a connection 42 and a plurality of diskmanagement processors 43.

A network address (for example, IP address or WWN) is allocated to eachport 40 for identifying the respective ports 40, and, as a result, thehost system 2 and the management server 3 are able to access the desiredport 40 by designating the network address.

Each channel processor 41 is configured as a microcomputer systemcomprising a microprocessor, memory and so on, and is switchablyconnected to the port corresponding to the respective channelprocessors. The channel processors 41 interpret the various commandssent from the host system 2 and perform necessary processing to executesuch commands.

The connection 42 comprises a shared memory 44 and a cache memory 45,and is connected to the channel processors 41 and the disk managementprocessors 43. The sending and receiving of data and commands among thechannel processor 41, the disk management processor 43, the sharedmemory 44, and the cache memory 45 are conducted via the connection 42.The connection 42, for example, is configured from a switch such as anultra fast crossbar switch that transfers data by high-speed switchingor a bus.

The shared memory 44 is a memory to be shared by the channel processors41 and the disk management processors 43. The shared memory 44 isprimarily used for storing micro programs and configuration informationread from the system volume when a prescribed disk device 30 is turnedon, or commands from the host system 2.

The cache memory 45 is also a memory to be shared by the channelprocessors 41 and the disk management processors 43. The cache memory 45is primarily used for temporarily storing data to be input to and outputfrom the storage apparatus 5.

Each disk management processor 43 is configured as a microcomputersystem having a microprocessor, memory and the like, and functions as aninterface for controlling the protocol during communication with eachstorage device 30. The disk management processors 43, for instance, areconnected to mutually different storage devices 30 among the respectivestorage devices 30 configuring the same RAID group 32 via a fibrechannel cable, and send and receive data to and from the storage device30 according to a communication protocol corresponding to such fibrechannel protocol.

The management terminal 6, as with the host system 2, is a computerdevice including information processing resources such as a CPU andmemory. The management terminal 6, for instance, is configured from apersonal computer, workstation, or portable information terminal. Themanagement terminal 6 has a display device for displaying GUI (GraphicalUser Interface) used to perform various settings in the storageapparatus 5 as well as various types of information, and an input devicesuch as a keyboard or mouse for the system administrator to performvarious operations or input various settings. The management terminal 6performs various processing based on various commands input via theinput device.

(2) Path Management Function in Storage System

(2-1) Outline of Path Management Function in Storage System

The path management function loaded in the storage system 1 according tothe present embodiment is now explained.

With the storage system 1, the CPU 10 of the host system 2 performs pathswitching control processing for dynamically switching the path to beused by the host system 2 up to the corresponding logical volume in thestorage apparatus 5 based on the path management program 13 so as tobalance the load of the respective paths (this is hereinafter referredto as “load balancing path switching control processing”). In addition,the CPU 10 of the host system 2 performs path switching controlprocessing based on path switching rules (this is hereinafter referredto as a “policy”) created by a user under the control of the managementserver 3 (this is hereinafter referred to as “policy path switchingcontrol processing”).

FIG. 2 is a flowchart representing the outline of the series ofprocesses to be performed by the CPU 20 in the management server 3 inrelation to the policy path switching control processing among the pathmanagement functions in the storage system 1 (this is hereafter referredto as “policy path management processing”). The CPU 20 executes thepolicy path management processing shown in FIG. 2 based on the policymanagement program 24 stored in the memory 21.

In other words, when the policy management program 24 is activated, theCPU 20 starts this policy path management processing, and foremostdetermines whether an operation for changing the policy setting has beenperformed (SP1). Here, “changing of policy setting” refers to thechanging of the contents of the policy that has been set, deletion ofsuch policy, or creation of a new policy.

When the CPU 20 obtains a negative result in this determination, itproceeds to step SP5. Contrarily, when the CPU 20 obtains a positiveresult, it extracts information representing the loaded condition of therespective paths such as the data transfer rate and path utilizationratio (such information is hereinafter collectively referred to as “loadinformation”) from the host system 2 and the management terminal 6(SP2).

Subsequently, the CPU 20 calculates the average value per prescribedunit time for each item of load information such as the data transferrate (such items are hereinafter collectively referred to as the “loaditems”) per path based on the extracted load information of therespective paths, and retains the calculated result as load statisticsinformation 23 (FIG. 1) in the memory 21 (SP3).

The CPU 20 thereafter visually displays the load statistics informationretained in the memory 21 on the display of the management server 3 sothat it will become a rough standard upon the user changing the policysetting, and changes the policy setting according to the operation ofthe user as a system administrator (SP4).

Subsequently, the CPU 20 controls the corresponding host system 2 forperforming the path switching control according to the setting of a newpolicy set as described above (SP5), and thereafter repeats theseprocessing steps (SP1 to SP5).

(2-2) Load Information Extraction Processing (SP2)

At step SP2 of the policy path management processing described withreference to FIG. 2, the CPU 20, as shown in FIG. 3, extracts from therespective host systems 2, as load information of each path, informationsuch as a response time as the time required in responding to the dataI/O request of each path (“IO response time of each path”), a datatransfer rate of each path (“transfer rate of path”), a data I/0 countper second in each host bus adapter 12 of the host system 2 (“IOPS ofeach HBA”), a queue count during the queue processing performed in thehost system 2 (“queue count of host”), and a utilization ratio per path(“path utilization ratio”).

The CPU 20 also extracts from the management terminal 6, as loadinformation of each path, information such as an availability factor ofthe microprocessor in the respective channel processors 41 and therespective disk management processors 43 of the storage apparatus 5 (“MPavailability factor”), a load factor of such microprocessor calculatedfrom the ratio of time used in performing some kind of processing in theoperating time (“MP load information”), a load factor calculated fromthe processing queue to the respective logical volumes VOL existing inthe storage apparatus 5 (“volume load factor”), a load factor of eachRAID group 32 calculated as above (“RAID group load”), and a serialnumber of the storage apparatus 5 or WWN given to the storage apparatus5 (“DKC serial number or WWN”).

In the foregoing case, information of the respective load items to beextracted by the CPU 20 of the management server 3 from the host system2 and the management terminal 6 is not information to be newly collectedby the host system 2 and the management terminal 6, and, for instance,is a part of the information that has been respectively retained as loadinformation 14, 7 with existing technology based on the path managementprogram 13 in the case of the host system 2, and based on the managementprogram (not shown) for managing the storage apparatus 5 mounted on themanagement terminal 6 in the case of such management terminal 6.

Statistics Information Creation Processing (SP3)

Meanwhile, when the CPU 20 of the management server 3 extracts theforegoing load information from the host system 2 and the managementterminal 6 as described above, it calculates the average value perprescribed unit time (10 minutes for instance) of each load item basedon the extracted load information, and creates a time-series load table50 as shown in FIG. 4A based on the calculated result.

The time-series load table 50 is a table for managing the average valueper unit time of each calculated load item, and, as evident from FIG.4A, it is configured from an “extracted ID” field 50A and an “extractiontime” field 50B.

The “extracted ID” field 50A stores the corresponding extracted ID. Theextracted ID is an ID of the corresponding entry among theidentification numbers (“101”, “102”,) given to the respective timeframes obtained by sequentially classifying the time range of the loadinformation extracted at step SP2 of the policy path managementprocessing explained with reference to FIG. 2 into a time frame for eachunit time.

The “extraction time” field 50B is configured from an “extraction date”field 50C and a “statistics” field 50D. The “extraction date” field 50Cstores the year, month and day in which the host system 2 or themanagement terminal 6 acquired the load information, and the“statistics” field 50D stores the average value of each unit timecalculated based on the load information extracted from the host system2 or the management terminal 6.

When the CPU 20 finishes creating the time-series load table 50, itcreates a statistical table 51 as shown in FIG. 4B based on thetime-series load table 50.

The statistical table 51 is a table for organizing and managing theaverage value per unit time calculated regarding the respective loaditems extracted from the host system 2 or the management terminal 6,and, as evident from FIG. 4B, is configured from an “extracted ID” field51A, an “extracted item” field 51B, and a “statistics” field 51C.

The “extracted item” field 51B stores the name of the load item (forinstance, “IO response time of path 1”, IO response time of path 2, andso on) as the target of the load information at such time, and the“average value” field 51C stores the average value per unit time of theload item read from the corresponding “statistics” field 50D in thetime-series load table 50. The “extracted ID” field 51A stores thecorresponding extracted ID in the time-series load table 50.

Accordingly, in the example of FIG. 4B, the entry in which the extractedID is “101” in the time-series load table 50 can be recognized as theload information from “6:00” to “6:10” of “2006/1/10” upon referring tothe time-series load table 50, and it is possible to further recognizethat the response time of path 1 during that time was “30”, and theresponse time of path 2 during that time was “1000” from the statisticaltable 51.

The CPU 20 thereafter manages the created time-series load table 50 andthe statistical table 51 as load statistics information 23 (FIG. 1) bystoring them in the memory 21 of the management server 3.

(2-4) Policy Display Setting Processing (SP4)

(2-4-1) Configuration of Various Display Screens

Meanwhile, at step SP4 of the policy path management processingexplained with reference to FIG. 2, the CPU 20 displays the variousdisplay screens shown in FIG. 5 to FIG. 10 on the display of themanagement server 3 according to the user's operation. The user willthereby be able to use these display screens to confirm the contents ofthe currently set policy or the statistical loaded condition of eachpath to become the rough standard upon changing the policy, or actuallyupdating the policy setting.

In the case of this storage system 1, the user is able to display asetting policy display screen 60 as shown in FIG. 5 on the display ofthe management server 3 by operating the management server 3.

The setting policy display screen 60 is a screen displaying in a tableformat the specific contents of each of the current set policies, and,in relation to the policies, indicates information such as aregistration ID (“policy ID”), applicable time of such policy (“controltime”), ID of applicable path of such policy (“path”), a host pathadapter ID of the host path adapter of the host system 2 through whichthe path passes through (“host bus adapter”), a port ID of the port 40in the storage apparatus 5 through which the path passes through (“port#”), and application/nonapplication of the policy (“application”).

The setting policy display screen 60 is provided with an apply button61, a statistics information display button 62, a policy creation/changebutton 63, and a policy delete button 64 at the lower part of thescreen.

By selecting one policy among the policies displayed on the settingpolicy display screen 60 and thereafter clicking the apply button 61,the user is able to change the application setting of the policy fromnonapplicable to applicable or from applicable to nonapplicable.

In addition, by clicking the statistics information display button 62 ofthe setting policy display screen 60, the user is able to display asampling time setting screen 65 as shown in FIG. 6 on the display of themanagement server 3.

The sampling time setting screen 65 is a screen for setting the timerange for taking statistics (sampling time) upon displaying the loadstatistics information display screen 70 (FIG. 7) described later. Thesampling time setting screen 65 can be used to input the start time andfinish time of such sampling time, and the start time and finish timeinput above are respectively displayed on the setting start time displayunit 66A and the setting finish time display unit 66B.

The sampling time setting screen 65 is provided with an OK button 67 anda cancel button 68 at the lower part of the screen. By clicking the OKbutton 67, the user is able to display a load statistics informationdisplay screen 70 as shown in FIG. 7 on the display of the managementserver 3, and, by clicking the cancel button 68, the user is able toreturn to the setting policy display screen 60 (FIG. 5).

The load statistics information display screen 70 is a screen displayingin a table format the statistics of certain load items regarding therespective paths that can be set from the respective host systems 2existing in the storage system 1 to the respective logical volumes VOLin the storage apparatus 5.

The load statistics information display screen 70 indicates, withrespect to all settable paths, statistics regarding the response time ofthe path within the range of the sampling time set with the samplingtime setting screen 65 (“response time”), a data transfer rate(“transfer rate”), a data I/O processing count per second of the hostbus adapter 12 in the host system through which the path passes through(“TOPS of HBA”), number of queues upon the corresponding host system 2performing queue processing (“queue count”), utilization ratio of thepath (“path utilization ratio”), availability factor of processors inthe channel processors 41 and the disk management processors 43 of thestorage apparatus 5 through which the path passes through (“MPavailability factor”), load factor of the logical volume VOL connectedto the path (“volume load factor”), and load factor of the RAID group 32mapped with the logical volume VOL (“RAID Gp”).

The load statistics information display screen 70 also respectivelydisplays the threshold value (row of “threshold value”) preset by theuser regarding the response time, the data transfer rate, the data 110processing count per second of the host bus adapter 12, the queue count,the path utilization ratio, the availability factor of themicroprocessor, the load factor of the logical volume VOL, and the loadfactor of the RAID group 32.

Further, among the respective load items of response time, data transferrate, data I/O processing count per second of the host bus adapter 12,queue count, path utilization ratio, and availability factor of themicroprocessor, the load statistics information display screen 70highlights the field of the load item that exceeds the threshold valuepreset by the user regarding such load item regarding each path, and thenumber of such highlighted load items is displayed as an overload levelin the corresponding “overload level” field of the “path neck factor”field.

Similarly, among the respective load items of load factor of the logicalvolume VOL and load factor of the RAID group 32, the load statisticsinformation display screen 70 highlights the field of the load item thatexceeds the threshold value preset by the user regarding such load itemregarding each path, and the number of such highlighted load items isdisplayed as an overload level in the corresponding “overload level”field of the “path neck factor” field.

Thus, the user is able to confirm the statistical loaded condition ofthe respective paths within the range of the sampling time set with thesampling time setting screen 65 based on the load statistics informationdisplay screen 70. By clicking the OK button 71 displayed at the lowerright of the load statistics information display screen 70, the user isable to close the load statistics information display screen 70 andreturn to the foregoing setting policy display screen 60 (FIG. 5).

Meanwhile, by clicking the policy creation/change button 63 (FIG. 5) ofthe setting policy display screen 60, the user is able to display a timecondition setting screen 8 as shown in FIG. 8 on the display of themanagement server 3.

The time condition setting screen 75 is a screen for setting or changingthe time range to which the newly created or existing policy is to beapplied (this is hereinafter referred to as the “control time”). Thetime condition setting screen 75 can be used to input the start time andthe finish time of the control time, and the input start time and finishtime are respectively displayed on the control start time display unit76A and the control finish time display unit 76B.

The time condition setting screen 75 is provided with a next button 77and a cancel button 78 at the lower part of the screen. By clicking thenext button 77, the user is able to display the item condition settingscreen 80 shown in FIG. 9 on the display of the management server 3,and, by clicking the cancel button 78, the user is able to close thetime condition setting screen 75 and return to the setting policydisplay screen 60.

The item condition setting screen 80 is a screen for setting thethreshold value of the respective load items regarding a newly createdpolicy or a policy in which the setting thereof is to be changed. Withthis item condition setting screen 80, by clicking the pulldown menudisplay button 82 provided to the right side of the load item namedisplay column 81, it is possible to display the pulldown menu 83indicating certain load item names to which control conditions can beset, and, by selecting the load item name of the desired load item amongthe load items displayed on the pulldown menu 83, it is possible todisplay the load item name on the load item name display column 81.

With the item condition setting screen 80, it is possible to input adesired threshold value with a keyboard or the like regarding the loaditem with the load item name displayed on the load item name displaycolumn 81, and the input threshold value is displayed in the thresholdvalue display column 84 provided to the right side of the load item namedisplay column 81.

With the item condition setting screen 80, by clicking the pulldown menudisplay button 86 displayed at the right side of the threshold valuedisplay column 84, it is possible to display the pulldown menu 87indicating the options of applicable conditions such as “Less”, “Same”and “More”, and, by selecting a desired applicable condition among theapplicable conditions displayed on the pulldown menu 87, it is possibleto display such applicable condition on the applicable condition displaycolumn 85.

Thus, the user is able to use the item condition setting screen 80 anddesignate the threshold value and applicable conditions (“Less”, “Same”or “More”) as the control condition regarding the respective load itemsto which the control conditions can be set.

With the item condition setting screen 80, by clicking the OK button 88provided to the lower part of the screen after respectively designatingthe desired threshold value and the applicable conditions regarding eachof the corresponding load items, it is possible to reflect thesedesignations in the current policy setting. At such time, it is possibleto return from the item condition setting screen 80 to the settingpolicy display screen 60 (60).

Contrarily, with the item condition setting screen 80, it is possible toreturn to the time condition setting screen 75 by clicking the returnbutton 89 provided on the right side of the OK button 88, and it ispossible to return to the setting policy display screen 60 withoutreflecting the contents displayed on the threshold value display column84 and the applicable condition display column 85 on the current policysetting by clicking the cancel button 90 provided to the right side ofthe return button 89.

Meanwhile, by clicking the delete button 64 (FIG. 5) after selecting onepolicy among the policies displayed on the setting policy display screen60, the user is able to display the deletion confirmation screen 95shown in FIG. 10 on the display of the management server 3.

The deletion confirmation screen 95 is a screen for the user to confirmwhether it is in fact all right to delete the policy selected in thesetting policy display screen 60 by clicking the delete button 64 (FIG.5), and a message 96 (“Do you really want to delete policy number xx?”)asking whether it is okay to delete the policy number of the policy tobe deleted, an OK button 97, and a cancel button 98 are displayed atsuch time.

With the deletion confirmation screen 95, by clicking the OK button 97,it is possible to return to the setting policy display screen 60 upondeleting the policy setting to be deleted at such time, and, by clickingthe cancel button 98, it is possible to return to the setting policydisplay screen 60 without deleting the policy to be deleted at suchtime.

(2-4-2) Processing Contents of CPU in Policy Display Setting Processing

FIG. 11 is a flowchart showing the processing contents of the CPU 20 ofthe management server 3 to be performed at step SP4 of the policy pathmanagement processing (FIG. 2) described above.

When the CPU 20 proceeds to step SP4 of the policy path managementprocessing (FIG. 2), it starts the policy display setting processingshown in FIG. 11, and foremost determines whether to display the settingpolicy display screen 60 (FIG. 5) explained with reference to FIG. 5(SP10). Incidentally, in the initial state when the policy displaysetting processing is started, the determination at this step SPIO isomitted.

The CPU 20 proceeds to step SP12 upon obtaining a negative result inthis determination, and displays the setting policy display screen 60 onthe display of the management server 3 upon obtaining a positive result(SP11).

The CPU 20 thereafter determines whether the apply button 61 of thesetting policy display screen 60 has been clicked (SP12). The CPU 20proceeds to step SP14 upon obtaining a negative result in thisdetermination, and, upon obtaining a positive result, sets“nonapplicable” when the policy set on the setting policy display screen60 was set as being applicable at the stage when the apply button 61 wasclicked, and sets “applicable” when the policy was set as beingnonapplicable (SP13).

Subsequently, the CPU 20 determines whether the statistics informationdisplay button 62 of the setting policy display screen 60 has beenclicked (SP14). The CPU 20 proceeds to step SP16 upon obtaining anegative result in this determination, and executes processing fordisplaying the load statistics information display screen 15 explainedwith reference to FIG. 7 on the display of the management server 3 (thisis hereinafter referred to as “load statistics information displayprocessing”) upon obtaining a positive result (SP15).

The CPU 20 thereafter determines whether the policy creation/changebutton 63 or the delete button 64 of the setting policy display screen60 has been clicked (SP16). When the CPU 20 obtains a negative result inthis determination, it determines whether an operation for ending thispolicy display setting processing has been input (SP17).

The CPU 20 ends this policy display setting processing upon obtaining apositive result in this determination. Contrarily, the CPU 20 returns tostep SP10 upon obtaining a negative result in the determination at stepSP 17, and thereafter repeats these processing steps (SP10 to SP17)until it obtains a positive result in the determination at step SP16 orstep SP17.

Meanwhile, when the CPU 20 eventually obtains a positive result in thedetermination at step SP16, it displays the necessary screen among thetime condition setting screen 75 explained with reference to FIG. 8, theitem condition setting screen 80 explained with reference to FIG. 9, andthe deletion confirmation screen 95 explained with reference to FIG. 10on the display of the management server. Further, the CPU 20 executesprocessing for changing the current policy setting according to theuser's operation input using these screens (this is hereinafter referredto as “policy setting change processing”) (SP18).

The CPU 20 returns to step SP10 upon completing this policy settingchange processing, and thereafter repeats similar processing steps (SP10to SP18).

(2-4-3) Load Statistics Information Display Processing

FIG. 12 is a flowchart showing the specific processing contents of theCPU 20 to be performed at step SP15 of the policy display settingprocessing (FIG. 11).

When the CPU 20 proceeds to step SP15 of the policy display settingprocessing (FIG. 11), it starts the load statistics information displayprocessing, and foremost displays the sampling time setting screen 65explained with reference to FIG. 6 on the display of the managementserver 3 (SP20), and thereafter determines whether the cancel button 68on the sampling time setting screen 65 has been clicked (SP21).

When the CPU 20 obtains a positive result in this determination, itcloses the sampling time setting screen 65 and displays the settingpolicy display screen 60 on the display of the management server 3(SP22), and thereafter ends this load statistics information displayprocessing .

Contrarily, when the CPU 20 obtains a negative result in thedetermination at step SP21, it determines whether the OK button 67 ofthe sampling time setting screen 65 has been clicked after the starttime and finish time of the sampling time have been set (SP23).

The CPU 20 returns to step SP21 upon obtaining a negative result in thisdetermination, and thereafter repeats the determination of step SP21 andstep SP22 until it obtains a negative result at step SP21 or a positiveresult at step. SP22.

When the CPU 20 eventually obtains a positive result in thedetermination at step SP23, it confirms the start time and finish timeof the sampling time set at such time (SP24), and thereafter detects allpaths from the respective host systems 2 existing in the storage system1 to the logical volume VOL of the storage apparatus 5 (SP25).

Subsequently, the CPU 20 sets the calculatory internal time to bereferred to upon performing the processing of step SP27 to step SP31described later as the start time of the sampling time confirmed at stepSP24 (SP26), and thereafter determines whether statistics information ofeach time frame up to the finish time of the sampling time has beenacquired (SP27). When the CPU 20 obtains a negative result in thisdetermination, it determines whether the acquisition of information ofthe respective load items regarding all paths detected at step SP25 iscomplete (SP28).

When the CPU 20 obtains a negative result in this determination, itselects one path among the paths detected at step SP25 as the targetpath, and reads the average value of the respective load items of thetime frame with the calculatory internal time as the start time amongthe load information of the selected path from the “average value” field51 C of the statistical table 51 explained with reference to FIG. 4B(SP29). For instance, when the sampling time is set to “6:00” to“12:00”, the CPU 20 will, at this step SP29, read all statistics such asthe response time of path, data transfer rate and data I/O count persecond of the host bust adapter from the statistical table 51 as thetarget at such time in a time frame (for example “6:00” to “6:10” or“6:10” to “6:20”) in which the calculatory internal time is the starttime.

Subsequently, the CPU 20 calculates, for each load item, the averagevalue of statistics in each time frame of the current target path thatwas read from the statistical table 51 theretofore (SP30). For example,in a case where the statistics have been read in the respective timeframes of “6:00” to “6:10” and “6:10” to “6:20” theretofore regardingthe current target path, and the statistics of the response time of thetime frame of “6:00” to “6:10” is “30”, and the statistics of theresponse time of the time frame of “6:10” to “6:20” is “40”, the CPU 20will calculate the average value of “30” and “40” regarding the responsetime.

The CPU 20 thereafter repeats similar processing steps (SP28 to SP30)while sequentially changing the target path to other paths, and, when iteventually completes calculating the average value of statistics of therespective loaded items in the same time frame regarding all paths(SP28: YES), it returns to step SP27 after advancing the calculatoryinternal time for the amount of unit time, and thereafter repeatssimilar processing steps (SP27 to SP30) after moving the time frame tothe subsequent time frame.

When the CPU 20 eventually completes the similar processing stepsregarding all time frames up to the finish time of the sampling time setby the user (SP27: YES), it generates the load statistics informationdisplay screen 70 explained with reference to FIG. 7 based on theprocessing result, and displays the generated load statisticsinformation display screen 70 on the display of the management server 3(SP31). The CPU 20 thereafter ends this load statistics informationdisplay processing.

Incidentally, FIG. 13 shows the specific processing contents of the CPU20 relating to the detection processing of a specific path at step SP25of the load statistics information display processing (FIG. 12).

When the CPU 20 proceeds to step SP25 of the load statistics informationdisplay processing (FIG. 12), it foremost selects one host system 2among the host systems existing in the storage system 1 (SP40). The CPU20 accesses this host system 2 and acquires the host bus adapter ID ofone host bus adapter 12 among the host bus adapters 12 (FIG. 1)connected to the network 4 (FIG. 1). The CPU 20 thereafter stores theacquired host bus adapter ID in the “host bus adapter ID” field 110C ofthe path information table 110 shown in FIG. 14 (SP41).

Subsequently, the CPU 20 the accesses the storage apparatus 5, selectsone port 40 among those connected via the network 4 to the host busadapter 12 in which the host bus adapter ID was acquired at step SP41among the ports 40 (FIG. 1) provided to the storage apparatus 5, andacquires such port ID. The CPU 20 thereafter stores the acquired port IDin the “port ID” field 110C of the path information table 110 (SP42).

Then, the CPU 20 accesses the storage apparatus 5, selects one channelprocessor 41 or disk management processor 43 connected to the acquiredport 40 in which the port ID was acquired at step SP42 among the channelprocessors 41 and disk management processors 43 provided to the storageapparatus 5, and acquires the microprocessor ID of the internallyexisting microprocessor. The CPU 20 thereafter stores the acquiredmicroprocessor ID in the “microprocessor ID” field 110D of the pathinformation table 110 (SP43).

In addition, the CPU 20 thereafter accesses the storage apparatus 5,selects one logical volume VOL among the logical volumes VOL connectedwith the channel processor 41 or disk management processor 43 storingthe microprocessor in which the microprocessor ID was acquired at stepSP43 among the logical volumes VOL provided to the storage apparatus 5,and acquires the volume ID. The CPU 20 thereafter stores the acquiredvolume ID in the “volume ID” field 11E of the path information table 110(SP44).

Moreover, the CPU accesses the storage apparatus 5, and acquires theRAID group ID of the RAID group 32 (FIG. 1) mapped with the logicalvolume VOL in which the volume ID was acquired at step SP44. The CPU 20thereafter stores the acquired RAID group ID in the “RAID group ID”field 110F of the path information table 110 (SP45).

Subsequently, the CPU 20 determines whether the volume ID of all logicalvolumes VOL satisfying the conditions at step SP44 has been acquiredamong the logical volumes VOL existing in the storage apparatus 5(SP46), and returns to step SP44 upon obtaining a negative result. TheCPU 20 thereafter repeats the processing at step SP44 to step SP46 untilit obtains a positive result at step SP46.

When the CPU 20 obtains a positive result in the determination at stepSP46, it determines whether the microprocessor ID of all microprocessorssatisfying the conditions at step SP43 among the microprocessorsrespectively provided to all channel processors 41 and all diskmanagement processors 43 existing in the storage apparatus 5 has beenacquired (SP47), and returns to step SP43 upon obtaining a negativeresult. The CPU 20 thereafter repeats the processing at step SP43 tostep SP47 until it obtains a positive result at step SP47.

When the CPU 20 obtains a positive result in the determination at stepSP47, it determines whether the port ID of all ports 40 satisfying theconditions at step SP42 among all ports 40 existing in the storageapparatus 5 has been acquired (SP48), and returns to step SP42 uponobtaining a negative result. The CPU 20 thereafter repeats theprocessing at step SP42 to step SP48 until it obtains a positive resultat step SP48.

Subsequently, when the CPU 20 obtains a positive result in thedetermination at step SP48, it determines whether the host bus adapterID of all host bus adapters 12 satisfying the conditions at step SP41among all host bus adapters 12 (FIG. 1) existing in the host system 2has been acquired (SP49), and returns to step SP41 upon obtaining anegative result. The CPU 20 thereafter repeats the processing at stepSP41 to step SP49 until it obtains a positive result at step SP49.

When the CPU 20 obtains a positive result in the determination at stepSP49, it determines whether the selection of all host systems 2 existingin the storage system 1 is complete (SP50), and returns to step SP40upon obtaining a negative result. The CPU 20 thereafter repeats theprocessing at step SP40 to step SP50 until it obtains a positive resultat step SP50.

When the CPU 20 eventually obtains a positive result in thedetermination at step SP50, it ends this path detection processing, andthereafter returns to the load statistics information display processing(FIG. 12).

Meanwhile, FIG. 15 is a flowchart showing the specific processingcontents of the CPU 20 relating to the load statistics informationdisplay processing at step SP31 of the load statistics informationdisplay processing (FIG. 12).

When the CPU 20 proceeds to step SP31 of the load statistics informationdisplay processing, it starts this load statistics information displayscreen display processing, and foremost determines whether the detectionof the overload level explained with reference to FIG. 7 is completeregarding all paths detected at step SP25 of the load statisticsinformation display processing (SP60).

When the CPU 20 obtains a negative result in this determination, itselects one path among the paths detected at step SP 25 of the loadstatistics information display processing as the target path (SP61), andthereafter determines whether the processing at step SP64 to step SP67described later relating to the path has been performed regarding allload items (SP62).

When the CPU 20 obtains a negative result in this determination, itselects one load item as the target load item (SP62), and thereaftercompares the statistics of the target load time of the current targetpath and the threshold value preset by the user regarding the targetload item (SP65).

The CPU 20 returns to step SP62 upon obtaining a negative result in thisdetermination, and, upon obtaining a positive result, it sets thecurrent target load item of the current target path as a highlightingtarget (SP66), and thereafter returns to step SP62. The CPU 20thereafter repeats similar processing steps (SP62 to SP67) whilesequentially switching the load item selected at step SP61 to other loaditems.

When the CPU 20 eventually obtains a positive result at step SP62 as aresult of the comparison processing with the threshold value regardingall load items of the target path being complete, it sets the number ofcorresponding load items set to be highlighted regarding the target pathin the overload level of the target path (SP63), and thereafter returnsto step SP60.

Subsequently, the CPU 20 repeats similar processing steps (SP60 to SP67)while sequentially switching the path selected as the target path atstep SP61 to other paths. When the CPU 20 eventually completes thesimilar processing regarding all paths detected at step SP25 of the loadstatistics information display processing, it thereafter creates thedisplay statistics information table 10 shown in FIG. 16 based on theprocessing result at step SP27 to step SP30 of the load statisticsinformation display processing (FIG. 12) and the processing result ofthe load statistics information display screen display processing (FIG.15) (SP68).

The display statistics information table 100 is a table summarizing thestatistics regarding the respective load items in the sampling time setby the user in the respective paths acquired at step SP23 of the loadstatistics information display processing (FIG. 12), and, as evidentfrom FIG. 13, is configured from a “path ID” field 100A, a “path neckfactor” field 100B, and a “drive neck information” field 100C.

Among the above, the “path ID” field 100A stores the identificationnumber of the corresponding path as the path ID.

The “path neck factor” field 100B is configured from a “response time”field 100BA, a “transfer rate” field 100BB, an “HBA data I/O PS” field100BC, a “queue count” field 100BD, a “path utilization ratio” field100BE, an “MP availability factor” field 100BF, and an “overload level”field 100BG.

The “response time” field 100BA, “transfer rate” field 100BB, “HBA dataI/O PS” field 100BC, “queue count” field 100BD, “path utilization ratio”field 100BE and “MP availability factor” field 100BF store, asstatistics, the statistical average value within the sampling timedesignated by the user regarding the response time of the path acquiredwith the processing at step SP27 to step SP30 of the load statisticsinformation display processing (FIG. 12), a data transfer rate of suchpath, a data 110 processing count per second of the host bus adapter 12through which the path passes through, queue count upon thecorresponding host system 2 performing queue processing, utilizationratio of the path or the availability factor of processors in thechannel processors 41 and the disk management processors 43 of thestorage apparatus 5 through which the path passes through.

The “drive neck information” field 100C is configured from a “volumeload factor” field 100CA, a “RAID group load factor” field 100CB and an“overload level” field 100CC.

The “volume load factor” field 100CA and the “RAID group load factor”field 100CB store, as statistics, the statistical average value withinthe sampling time designated by the user regarding the load factor ofthe logical volume VOL connected to the path acquires in the processingat step SP27 to step SP30 of the load statistics information displayprocessing (FIG. 12), and the load factor of the RAID group 32 (FIG. 1)mapped with the logical volume VOL.

Accordingly, in the example of FIG. 16, the response time of “path 1”within the sampling time of “6:00” to “12:00” designated as the samplingtime by the user is “100”, the data transfer rate is “100”, and the dataI/O count per second of the host bus adapter 12 through which the “path1” passes through is “2000”, and the load factor of the logical volumeVOL connected to the “path 1” within the sampling time is “5”, and theload factor of the RAID group 32 mapped with the logical volume VOL is“10”.

Meanwhile, the lowest row of the “response time” field 100BA, “transferrate” field 100BB, “HBA data 1/0 PS” field 100BC, “queue count” field100BD, “path utilization ratio” field 100BE, “MP availability factor”field 100BF, “volume load information” field 100CA, and “RAID group loadinformation” field 100CB stores the threshold value preset by the userregarding the response time, the data transfer rate, the data I/0processing count per second of the host bus adapter 12, the queue count,the path utilization ratio, the availability factor of themicroprocessor, the load factor of the logical volume VOL, and the loadfactor of the RAID group 32.

The “overload level” field 100BG of the “path neck factor” field 100Band the “overload level” field 100CC of the “drive neck information”field 100C respectively store the overload level detected at step SP63of the load statistics information display processing (FIG. 15).

For instance, in the example of FIG. 16, since “path 1” does not exceedthe corresponding threshold value of the response time, the datatransfer rate, the data I/O processing count per second of the host busadapter 12, the queue count of the host system 2 connected to the path1, the path utilization ratio of the path 1, and the availability factorof the corresponding microprocessor, “0” is stored in the corresponding“overload level” field 100BG in the “path neck factor” field 100B.Further, since “path 1” does not exceed the corresponding thresholdvalue of the load factor of the logical volume VOL and the load factorof the RAID group 32 mapped with the logical volume VOL, “0” is storedin the corresponding “overload level” field 100CC in the “drive neckinformation” field 100C.

Contrarily, “path 2” is exceeding the corresponding threshold value(including the same value as the threshold value) of the response time,the data I/O processing count per second of the host bus adapter 12, thequeue count of the host system 2 connected to the path 1, and the pathutilization ratio of the path 1, “4” is stored in the corresponding“overload level” field 100BG in the “path neck factor” field 100B.Further, since “path 2” does not exceed the corresponding thresholdvalue of the load factor of the logical volume VOL and the load factorof the RAID group 32 mapped with the logical volume VOL, “0” is storedin the corresponding “overload level” field 100CC in the “drive neckinformation” field 100C.

After the CPU 20 creates this kind of display statistics informationtable 100, it generates the load statistics information display screen70 explained with reference to FIG. 7 based on the display statisticsinformation table 100. Thereupon, the CPU 20 generates the loadstatistics information display screen 70 highlighting the field of therespective load items set to be highlighted based on the processing atstep SP61 to step SP67 of the load statistics information displayprocessing (FIG. 15).

Subsequently, the CPU 20 displays the load statistics informationdisplay screen 70 on the display of the management server 3 (SP69), andthereafter ends this load statistics information display screen displayprocessing.

(2-4-4) Policy Setting Change Processing

FIG. 17 is a flowchart showing the specific processing contents of theCPU 20 regarding the policy setting change processing at step SP 19 ofthe policy display setting processing explained with reference to FIG.11.

When the CPU 20 proceeds to step SP19 of the policy display settingprocessing (FIG. 11), it starts the policy setting change processing,and foremost determines whether the button determined to be clicked atstep SP16 of the policy display setting processing (FIG. 11) is thepolicy creation/change button 63 (FIG. 6) of the setting policy displayscreen 60 (FIG. 6) (SP70).

When the CPU 20 obtains a positive result in this determination, itdisplays the time condition setting screen 75 explained with referenceto FIG. 8 on the display of the management server 3 (SP71), andthereafter determines whether the cancel button 77 (FIG. 0 of the timecondition setting screen 75 has been clicked (SP72).

When the CPU 20 obtains a negative result in this determination, itdetermines whether the next button 78 of the time condition settingscreen 75 was clicked in a state where the start time and finish time ofthe control time were input (SP73). The CPU 20 returns to step SP71 uponobtaining a negative result in this determination, and thereafter waitsto obtain a positive result at step SP72 or step SP73.

When the CPU 20 eventually obtains a positive result in thedetermination at step SP72, it ends this policy setting changeprocessing, and, contrarily, when the CPU 20 eventually obtains apositive result at step SP73, it displays the item condition settingscreen 80 explained with reference to FIG. 9 on the display of themanagement server 3.

The CPU 20 thereafter sequentially determines whether the cancel button90 (FIG. 9) of the item condition setting screen 80 has been clicked(SP75), whether the return button 89 (FIG. 9) of the item conditionsetting screen 80 has been clicked (SP76), and whether the OK button 88(FIG. 9) of the item condition setting screen 80 has been clicked(SP77), and waits to obtain a positive result in any of the foregoingdeterminations.

When the CPU 20 eventually obtains a positive result in thedetermination at step SP75, it ends this policy setting changeprocessing, and returns to step SP71 upon obtaining a positive result inthe determination at step SP76.

When the CPU 20 obtains a positive result in the determination at stepSP77, if the user created a new policy using the item condition settingscreen 80, it stores the setting information of the new policy assetting policy information 24 (FIG. 1) in the memory 21 (FIG. 1).Contrarily, when the user changed the setting of an existing policy withthe item condition setting screen 80, the CPU 20 changes the setting ofthe policy stored in the memory 21 as the setting policy information 24according to the user's setting (SP78). The CPU 20 thereafter ends thispolicy setting change processing.

Meanwhile, to obtain a negative result in the determination at step SP70means that the delete button 64 (FIG. 5) of the setting policy displayscreen 60 (FIG. 5) has been clicked. Thus, the CPU 20 displays thedeletion confirmation screen 95 explained with reference to FIG. 10 onthe display of the management server 3 (SP79).

The CPU 20 thereafter sequentially determines whether the cancel button98 of the deletion confirmation screen 95 has been clicked (SP80), andwhether the OK button 97 of the deletion confirmation screen 95 has beenclicked (SP81), and waits to obtain a positive in any of the foregoingdeterminations.

When the CPU 20 thereafter obtains a positive result in thedetermination at step SP80, it ends this policy setting changeprocessing. Contrarily, when the CPU 20 obtains a positive result in thedetermination at step SP81, it deletes the setting information of thetarget policy from the setting policy information 24 (FIG. 1) (SP82),and thereafter ends this policy setting change processing.

(2-5) Policy Path Switching Control Setting Processing (SP5)

Meanwhile, the CPU 20 executes the policy path switching control settingprocessing according to the flowchart shown in FIG. 18 at step SP5 ofthe policy path management processing explained with reference to FIG.2.

In other words, when the CPU 20 proceeds to step SP5 of the policy pathmanagement processing, it starts this policy path switching controlsetting processing, and foremost determines whether there is a policythat is current set based on the setting policy information 24 stored inthe memory 21 of the management server 3 (SP90).

When the CPU 20 obtains a negative result in this determination, it endsthis policy path switching control setting processing and returns tostep SP1 of the policy path management processing (FIG. 2). Contrarily,when the CPU 20 obtains a positive result in this determination, itdetermines whether the checking process at step SP92 to step SP102described later is complete regarding all set policies (SP91).

When the CPU 20 obtains a positive result in this determination, it endsthis policy path switching control setting processing and returns tostep SP1 of the policy path management processing (FIG. 2). Contrarily,when the CPU 20 obtains a negative result in this determination, itselects one policy among all set policies (SP92), and determines whetherthe setting of applicable/nonapplicable has been applied to the policy(SP93).

The CPU 20 returns to step SP90 upon obtaining a negative result in thisdetermination. Contrarily, when the CPU 20 obtains a positive result inthis determination, it acquires the control condition of such policyfrom the setting policy information 24 (SP94), and thereafter determineswhether there is a time element as the control condition of such policy;that is, whether the control time has been set (SP95).

The CPU 20 proceeds to step SP98 upon obtaining a negative result inthis determination, and contrarily acquires the current time from theinternal timer not shown upon obtaining a positive result (SP96). TheCPU 20 thereafter determines whether the current time coincides with thestart time of the target policy (SP97).

When the CPU 20 obtains a positive result in this determination, itreads the load statistics information 23 from the memory 21 of themanagement server 3, and selects one path that satisfies the controlcondition of the policy set by the user as the switching destination ofthe target path based on the load statistics information 23 (SP99).

The CPU 20 thereafter notifies the corresponding host system 2 of acommand to exclude the path selected at step SP99 from the target ofload balancing path switching control processing for performing pathswitching control so as to balance the load of the path (SP100). Likethis, the CPU 20 controls the host system 2 so as to exclude the pathfrom the target of load balancing path switching control processing, andthereafter returns to step SP91. Incidentally, the CPU 10 of the hostsystem 2 that received such notice will execute the load balancing pathswitching control processing for equalizing the load of paths other thanthe path excluded from the target.

Meanwhile, when the CPU 20 obtains a negative result in thedetermination at step SP97, it determines whether the current timecoincides with the finish time of the target policy (SP101).

The CPU 20 returns to step SP91 upon obtaining a negative result in thisdetermination. Contrarily, when the CPU 20 obtains a positive result inthis determination, it notifies the corresponding host system 2 of acommand to return the target path to the target of load balancing pathswitching control processing (SP102). Like this, the CPU 20 controls thehost system 2 so as to return the path to the target of load balancingpath switching control processing, and thereafter returns to step SP91.

(3) Effect of Present Embodiment

With the storage system 1 according to the present embodiment describedabove, it is possible to ensure the processing performance demanded by auser as a result of performing policy path switching control processingaccording to a policy created by the user as needed while seeking toimprove the access performance from the host system 2 to the storageapparatus 5 based on the load balancing path switching controlprocessing for dynamically switching the path to be used by the hostsystem 2 according to the loaded condition of the respective pathsbetween the host system 2 and the storage apparatus 5.

Accordingly, with the storage system 1, since it is possible to managethe path while giving consideration to the importance of processing, itis possible to ensure the processing performance demanded by the userwhile seeking to improve the access performance from the host system 2to the storage apparatus 5.

Further, since the storage system 1 is able to perform policy pathswitching control processing according to a policy created by the user,no path switching will occur during that time and, as a result, it ispossible to effectively prevent the generation of overhead of the hostsystem 2 regarding the path switching processing.

(4) Other Embodiments

Incidentally, with the embodiment described above, although a case wasexplained where the path switching unit to execute the path switchingcontrol of dynamically switching the path to be used by the host systemaccording to the loaded condition of the respective paths between thehost system 2 and the storage apparatus 5 is configured from the CPU 10governing the overall operational control of the host system 2, and thepath management program 13, the present invention is not limitedthereto, and various other configurations may be widely employed as theconfiguration of such path switching unit.

Further, in the foregoing embodiment, although a case was explainedwhere the management unit for controlling the path switching unit toselect a path according to the policy created by the user as needed, andexclude the selected path from the target of load balancing switchingcontrol processing to be performed by the host system 2 is configuredwith the management server 3 provided separately from the host system 2,the present invention is not limited thereto, and, for instance, thehost system 2 may be equipped with this kind of function of themanagement server 3 (the host system may be loaded with the policymanagement program 22 and the like).

Moreover, in the foregoing embodiment, although a case was explainedwhere the information explained with reference to FIG. 3 is employed asthe load information to be extracted by the management server 3 from thehost system 2 or the management terminal 6, the present invention is notlimited thereto, and other information capable of recognizing the loadedcondition of the respective paths may be provided additionally or insubstitute for such information.

In addition, in the foregoing embodiment, although a case was explainedwhere the present invention is applied to a storage system configured asillustrated in FIG. 1, the present invention is not limited thereto, andmay be widely applied to various other types of storage systems.

The present invention may be widely applied to storage systems ofvarious configurations in which a host system and a storage apparatusare connected via a plurality of paths.

1. A storage system in which a host system includes a higher-leveldevice and a storage apparatus providing a volume to said host systemfor reading and writing data are connected to each other via a pluralityof paths, comprising: a path switching unit provided to said host systemand executing path switching control for dynamically switching pathsamong said plurality of paths to be used by said host system accordingto a first policy, said first policy being that loads of a plurality offirst paths connecting said host system to said volume become equal toeach other; and a management unit for presenting information whichrelates each of said plurality of first paths to a condition of saideach of said plurality of first paths on a display of said managementunit, a second policy being set through said display by a user, saidsecond policy being that at least one second path included in saidplurality of first paths is excluded from being a target of said pathswitching control for dynamically switching the paths to be used by saidhost system, said management unit controlling said path switching unitto execute said path switching control based on said first policy andsaid second policy.
 2. The storage system according to claim 1, whereinsaid second policy is selected among a plurality of policies each ofwhich is used for excluding said at least one second path included insaid a plurality of first paths from being the target of said pathswitching control for dynamically switching the path based on eachpolicy.
 3. The storage system according to claim 2, wherein saidmanagement unit extracts, from said host system and said storageapparatus, load information per each of said plurality of first pathsrespectively representing the loaded condition of each of said pluralityof first paths ; generates load statistics information containingstatistical results of said loaded condition per each of said pathsbased on each piece of extracted load information; and presents thegenerated load statistics information to a user as a rough standard uponsaid user creating said second policy.
 4. The storage system accordingto claim 3, wherein said management unit presents said load statisticsinformation to said user via said display, and highlights an itemexceeding a predetermined threshold value among said load statisticsinformation upon presenting said load statistics information to saiduser.
 5. The storage system according to claim 3, wherein saidmanagement unit presents said load statistics information to said uservia said display, and displays an overload level representing theoverloaded conditions per each of said paths upon presenting said loadstatistics information to said user.
 6. The storage system according toclaim 2, wherein said management unit executes policy path switchingcontrol setting processing comprising the steps of: (a) determiningwhether there is a policy setting; (b) if there is a policy setting,determining whether checking of all said policies is complete; (c) ifthe checking of all said policies is not complete, selecting anunchecked policy; (d) determining if the unchecked policy has a settingof applicable/un- applicable applied to it; (e) if the unchecked policyis not applicable, returning to step (b), (f) if the unchecked policy isapplicable, acquiring a control condition of the unchecked policy anddetermining if there is a time element as a control condition of thepolicy; (g) if there is a time element, acquiring a current time; (h)determining if the current time is a start time, and if the current timeis a start time, acquiring load statistics information, selecting aswitching target and notifying target exclusion of a load balance andpath switching control processing to a corresponding host; and (i) ifthe current time is not a start time, determining whether it is a finishtime, and, if the current time is a finish time, notifying targetresumption with Load Balance Path Switching process to correspondinghost.